1. Field of Invention
The present invention relates generally to the field of serial-bus drivers for the IEEE 1394 standard.
2. Description of Related Art
FireWire is a serial bus standard that was developed jointly by Apple, Intel, Texas Instruments, Microsoft, Sun Microsystems, Compaq and National Semiconductor, and is now an IEEE standard, IEEE 1394. IEEE 1394 has numerous advantages: it supports isochronous applications, where data delivery must be guaranteed only at the endpoints in a time period, it has a large address space available, which allows a large number of devices per bus to be connected, it supports “hot-swapping” of devices, and it supports a fast transfer speed, up to 400 Mb/s, or potentially greater.
One way IEEE 1394 supports a fast transfer speed is through differential signal transmission at the PHY (the physical level in the Open Systems Interconnect (OSI) ISO standards framework for communications). IEEE 1394 specifies both common mode (DC) and differential signaling, and reserves the bulk of transmissions for differential signaling. DC signaling, where a logical 1 is represented as positive voltage and a logical zero is represented as zero voltage is reserved in IEEE 1394 for only three purposes: device attachment and detection, speed signaling and power management (e.g. a suspend function). By contrast, differential signaling is used for the remaining majority of operations, such as data packet transmissions, bus reset, arbitration, and configuration commands. However, the presence of DC signaling in IEEE 1394 presents a problem to designers of serial bus drivers because the IEEE 1394 standard requires a wide output for the common-mode voltage range.
Differential signaling, such as shown in FIG. 1, uses the difference in voltage level between two wires (or traces) to signal information. If the voltage on one wire is greater than the voltage on another wire, a logical 1 is represented, and vice versa. Differential signals in a dual trace use lower voltage swings than single-ended signals, which can result in faster circuits with lower power consumed over a wide range of frequencies transmitted. Because the signals traveling in dual traces in differential signaling typically travel in opposite directions, differential signaling reduces the need for shielding traces, thus it reduces EMI (Electro-Magnetic Interference) and cross-talk. The presence of two traces (or conductors) to convey a signal results in noise tolerance in the form of common-mode voltage rejection (voltage common to both sides of a differential circuit pair canceling out, being out of phase, when the lines are perfectly balanced, so noise coupled onto the two wires equally, as common-mode noise, will be rejected by the differential signal receiver). Further, tighter router densities are possible and the absence of a complex termination strategy, as is often found in a single-ended signal trace, results in fewer parts in a board.
FIG. 1 shows a prior art schematic for a differential-signal driver and receiver, taken from the Port Interface diagram of the IEEE 1394 standard (FIG. 4-12 of IEEE Std. 1394a-2000). The importance of the IEEE 1394 specifications is to emphasize the timing skew (of data relative to strobe, TPA/TPB) and rise/fall time requirements over a wide output common-mode range, which the present invention seeks to meet and exceed. In FIG. 1 are shown the twisted pair interfaces—TPA/TPA* and TPB/TPB* (twisted pair TPA of port 1 connects to TPB of port 2 and vice versa), over which a pair of twisted-pair copper cables typically connect. A constant current source driver transmits a differential signal on one side, while on the other side there is the receiver (the IEEE 1394 standard is for transceivers, so there is a driver and receiver on both sides of the twisted pair channel); the FIG. 1 differential-signal driver and receiver is bi-directional. The current driver injects a small current into one wire or the other of the two conductors of the differential pair lines, depending on the logic level to be sent. The current passes through the receiving end at the receiver, and the receiver, having a high DC input resistance, results in the majority of the driver current flowing through a low resistance termination resistor, in FIG. 1 shown as a 55 Ω resistor (which may further be matched to the characteristic impedance of the twisted pair channel). The current injected returns in the opposite direction along the other wire in the twisted pair. From Ohm's Law the voltage difference across the resistor is sensed by the receiver, which also senses the polarity of the voltage (positive or negative), to determine the logic level. This is termed current loop signaling.
The IEEE 1394 standard, however advantageous, does demand certain exacting conditions for designing the driver in a IEEE 1394 serial bus, e.g., in the way of a wide common-mode voltage output range and controlled edge rates, that are not shared by similar differential signaling schemes, such as for LVDS (Low Voltage Differential Signaling). An example of an LVDS I/O interface for a high-speed I/O circuit is found in Boni et al. “LVDS I/O Interface for Gb/s-per-Pin Operation in 0.35-um CMOS” (IEEE J. of Solid-State Circuits, Vo. 36, No. 4, Apr. 2001, pp. 706-11).
First, there is the requirement in IEEE 1394 that DC signaling be used for device attachment and detection, speed signaling and power management, that results in having to design a wide output range in voltage for the common-mode voltage.
Second, there is the requirement in IEEE 1394 that the clock be transmitted along with the signal being transmitted in a twisted wire pair, with the data in the twisted wire pair XOR'd (Exclusive-OR) to extract the clock. This puts a premium on minimizing timing skew and requires low timing skew over a wide range of common-mode voltage ranges. In FIG. 1, data and strobe use the separate TPA and TPB twisted pairs, and can be different common-mode voltages due to drop in the ground line, and speed signaling.
Third, the IEEE 1394 specification, though isochronous, demands well-controlled rise/fall times in the edge rates of the digital signals transmitted. The rise/fall times of the digital signals cannot be too fast nor too slow, but have to lie within a window specified by the IEEE 1394 standard.
As in the present invention, existing current mode drivers that meet the IEEE 1394 standard exist. However, while these drivers may share similarities in the current steering switches, they lack the configuration of the present invention, and typically these drivers use full-swing (VDD to VSS gate drive signals). What is lacking in the prior art is the present invention method and apparatus of using reduced-swing gate drive for meeting the IEEE 1394 serial bus standard, that achieves low timing skew over a wide range of common-mode voltage ranges with well-controlled rise/fall times, without having to resort to full-swing (VDD to VSS) gate drive signals. Reduced-swing gate drive has two benefits: (1) output rise/fall time relates more directly to input rise fall time since the output stage is in its linear region more of the time (the differential pair forming the current steering switches will be a straight line, i.e. linear, for small differential input amplitudes, then saturate to a fixed value at higher plus and minus input levels), and (2) the current steering switches operate in saturation mode versus the linear region, so that the common-source voltage does not vary with output common-mode level voltage.